package com.xuhuan.server.business.splitfile.service;

import com.xuhuan.server.business.splitfile.properties.FileSplitProperties;
import com.xuhuan.server.business.splitfile.vo.ZoneMd5ListVO;
import com.xuhuan.server.business.splitfile.vo.ZoneCheckRequestVO;
import com.xuhuan.server.business.splitfile.vo.ZoneUploadVO;

/**
 * @Author huan.xu
 * @Date 2023/6/19 14:12
 * @Description
 */
public interface IFileSplitFacadeService {

    /**
     * 接收单个分片文件
     * @param zoneUploadVO
     */
    void receiveSignZoneFile(ZoneUploadVO zoneUploadVO);

    /**
     * 获取参数配置
     *
     * @return
     */
    FileSplitProperties getFileSplitProperties();

    /**
     * 合并分片
     *
     * @param zoneMd5ListVO
     * @return
     */
    void mergeZoneFile(ZoneMd5ListVO zoneMd5ListVO) throws Exception;

    /**
     * 检查分片信息，返回协会现有的分片数据，下次就只需要再上传缺失的分片数据
     * @param requestVO
     * @return
     */
    ZoneMd5ListVO checkZoneFile(ZoneCheckRequestVO requestVO);
}
